
#ifndef MATERIAL_H
#define MATERIAL_H

#include "Resources\Resource.h"
#include "LibraryEngineExport.h"
#include "Graphics\Textures\Texture.h"
#include "SmartPtr.h"
#include "SmartPtrPolicies.h"


namespace CasaEngine
{
	/**
	 * 
	 */
	class LIBRARY_ENGINE_EXPORT Material : public IResource
	{
	public:
		Material();
		virtual ~Material();

		void SetDiffuseTexture(Texture *tex_);
		void SetTexture0(Texture *tex_);
		void SetTexture1(Texture *tex_);
		void SetTexture2(Texture *tex_);
		void SetTexture3(Texture *tex_);

		Texture *GetDiffuseTexture() const;
		Texture *GetTexture0() const;
		Texture *GetTexture1() const;
		Texture *GetTexture2() const;
		Texture *GetTexture3() const;

	private:
		Texture *m_pDiffuseTexture;
		Texture *m_pTexture0;
		Texture *m_pTexture1;
		Texture *m_pTexture2;
		Texture *m_pTexture3;
		
	};

} // namespace CasaEngine

#endif // MATERIAL_H
